package com.xiyu.service.service.setting;

import com.xiyu.service.vo.setting.poolSetting.PoolSettingQueryMaxLimitOutput;
import com.xiyu.service.vo.setting.poolSetting.PoolSettingUpdateMaxLimitInput;
import com.xiyu.service.vo.setting.poolSetting.PoolSettingCreateMaxLimitInput;
import com.xiyu.service.vo.setting.poolSetting.PoolSettingGetMaxLimitOutput;
import com.xiyu.service.vo.setting.poolSetting.PoolSettingGetRuleOutput;
import com.xiyu.service.vo.setting.poolSetting.PoolSettingQueryRuleOutput;
import com.xiyu.service.vo.setting.poolSetting.PoolSettingUpdateRuleInput;
import com.xiyu.service.vo.setting.poolSetting.PoolSettingCreateRuleInput;
import java.util.*;
import com.xiyu.service.framework.web.web.core.pojo.PageResult;

/**
 * 公海设置 Service 接口
 */
public interface PoolSettingService {

    Long createRule(PoolSettingCreateRuleInput inputVO);

    Boolean updateRule(PoolSettingUpdateRuleInput inputVO);

    Boolean deleteRule(Long id);

    List<PoolSettingQueryRuleOutput> queryRule();

    PoolSettingGetRuleOutput getRule(Long id);

    PoolSettingGetMaxLimitOutput getMaxLimit(Long id);

    Long createMaxLimit(PoolSettingCreateMaxLimitInput inputVO);

    Boolean updateMaxLimit(PoolSettingUpdateMaxLimitInput inputVO);

    Boolean deleteMaxLimit(Long id);

    List<PoolSettingQueryMaxLimitOutput> queryMaxLimit();

    Long getUserAvailableCount(Long ownerId);

    void ruleExec();

}
